All Questions
7 questions
2votes
2answers
2kviews
Refactoring a legacy codebase with a god Repository and incomplete Clean Architecture
I'm currently working on a large legacy project that tried to implement Clean Architecture combined with MVVM, but unfortunately didn't fully adhere to the principles. One major problem: The ...
1vote
1answer
129views
UI or Application layer responsibility - retrieving additional data for display
I have an application service that retrieves Order data. The service is consumed in UI, where it can be edited by users. Additionally, the users wants to see related data such as ordered products' ...
-2votes
1answer
434views
Is it OK to use a Command Sourcing instead of Event Sourcing? Replay events in Commands-Repositories
I have a system that uses a graph database without any ORM, mapper or tool that tracks entity changes, like EntityFramework. I'm not using domain entities, instead I have an Event that calls changes ...
0votes
0answers
52views
How big should database adapters/gateways be?
Outline When you build an Adapter that connects your application and the database, How big should you make this adapter? Should it contain all possible queries that could be made to the DB? Do you ...
7votes
1answer
4kviews
Clean Architecture - Controllers and Presenters
I am having a hard time trying to wrap my head around the relationship between Controllers and Presenters in Uncle Bob's Clean Architecture. In most of his videos, he talks too little about ...
1vote
1answer
914views
How to make the controller framework independent in Clean Architecture?
Recently, I've been studying Clean Architecture and I have some doubts. I want to make a REST API that adheres to this architecture. To do that, I define my entities, use-cases, etc. For each endpoint,...
132votes
7answers
76kviews
Clean Architecture: Use case containing the presenter or returning data?
The Clean Architecture suggests to let a use case interactor call the actual implementation of the presenter (which is injected, following the DIP) to handle the response/display. However, I see ...